package ejemplo_1.entity;


import java.util.ArrayList;
import java.util.Iterator;

import javax.persistence.*;

import ejemplo_1.bean.AlumnoVO;
import ejemplo_1.bean.CursoVO;
import ejemplo_1.bean.MateriaVO;
import ejemplo_1.bean.ProfesorVO;

@Entity
@Table(name="Cursos")
public class Curso_Entity {
	
	@Id
	@Column(name="numeroCurso")
	private int numeroCurso;
	
	@OneToOne(cascade = CascadeType.ALL)
	@PrimaryKeyJoinColumn
	private Materia_Entity materia;
	
	@OneToOne(cascade = CascadeType.ALL)
	@PrimaryKeyJoinColumn
	private Profesor_Entity profesor;
	
	@OneToMany(cascade = CascadeType.ALL)
	@JoinColumn(name = "numeroCurso")
	private ArrayList<Alumno_Entity> alumnos;
	private int cantMaxima;
	
	//Constructor
	public Curso_Entity(int numeroCurso, Materia_Entity materia, Profesor_Entity profesor, int cantMaxima) {
		super();
		this.numeroCurso = numeroCurso;
		this.materia = materia;
		this.profesor = profesor;
		this.cantMaxima = cantMaxima;
	}

	public Curso_Entity() {
	}

	//GET & SET
	public Materia_Entity getMateria() {
		return materia;
	}

	public void setMateria(Materia_Entity materia) {
		this.materia = materia;
	}

	public Profesor_Entity getProfesor() {
		return profesor;
	}

	public void setProfesor(Profesor_Entity profesor) {
		this.profesor = profesor;
	}

	public ArrayList<Alumno_Entity> getAlumnos() {
		return alumnos;
	}

	public void setAlumnos(ArrayList<Alumno_Entity> alumnos) {
		this.alumnos = alumnos;
	}

	public int getCantMaxima() {
		return cantMaxima;
	}

	public void setCantMaxima(int cantMaxima) {
		this.cantMaxima = cantMaxima;
	}

	public int getNumeroCurso() {
		return numeroCurso;
	}

}
